import roleProvider from './system/role.js'
import assetsProviderManageProvider from './system/assetsProviderManage.js'
import publisherManageProvider from './system/publisherManage.js'
import specialAreaProvider from './system/specialArea.js'
import languageProvider from './system/language.js'
import definitionProvider from './system/definition'
import operatorProvider from './system/operator'
import dictionaryProvider from './system/dictionary'
import organizationProvider from './system/organization'
import logProvider from './system/log'
import actorProvider from './media/actor.js'
import assetsProvider from './media/assets.js'
import assetsManageProvider from './media/assetsManage.js'
import AssetIssuanceProvider from './product/AssetIssuance.js'
import ParentAssetIssuanceProvider from './product/ParentAssetIssuance.js'
import TurnDownProvider from './product/TurnDown.js'
import productProvider from './product/product.js'
import onTimeOrder from './product/onTimeOrder.js'
import assetsAuditProvider from './audit/assetsAudit.js'
import auditRecordProvider from './audit/auditRecord.js'
import capitalProvider from './system/capital.js'
import shellAssetsProvider from './media/shellAssets.js' //壳资产管理
import actorInfoProvider from './audit/actorInfo.js'
import subAssetsProvider from './audit/subAssets.js'
import sitManageProvider from './system/sitManage.js'
import playBillManageProvider from './live/playBillManage.js'
import ProgramListProvider from './live/ProgramList.js'
import channelTurnDownProvider from './live/channelTurnDown.js'
import playGenreManageProvider from './live/playGenreManage.js'
import playManageProvider from './live/playManage.js'
import AssetsWarehouseStatisticsProvider from './audit/AssetsWarehouseStatistics.js'
import AssetsDownRecordProvider from './audit/assetsDownRecord.js'
import tagManageProvider from './system/tagManage.js'
import userProvider from './system/user.js'

export default {
    providerList: [roleProvider, actorProvider, productProvider, onTimeOrder, assetsAuditProvider,
        assetsProvider, capitalProvider, shellAssetsProvider, actorInfoProvider, subAssetsProvider,
        auditRecordProvider, sitManageProvider, AssetIssuanceProvider, TurnDownProvider,
        ParentAssetIssuanceProvider, playBillManageProvider, channelTurnDownProvider, playGenreManageProvider,
        playManageProvider, AssetsWarehouseStatisticsProvider, AssetsDownRecordProvider,
        tagManageProvider, assetsManageProvider, assetsProviderManageProvider, userProvider,
        publisherManageProvider,specialAreaProvider,languageProvider,definitionProvider
        ,operatorProvider,dictionaryProvider,organizationProvider,logProvider,ProgramListProvider
    ],
    factory: function(postData) {
        for (var i = 0; i < this.providerList.length; i++) {
            if (postData.className == this.providerList[i].className) {
                return this.providerList[i];
            }
        }
        return null;
    }
};